Extend _gdk_windowing_window_at_pointer to be able to get toplevels only
authorAlexander Larsson <alexl@redhat.com>
Mon, 28 Sep 2009 13:21:54 +0000 (15:21 +0200)
committerAlexander Larsson <alexl@redhat.com>
Mon, 28 Sep 2009 13:21:54 +0000 (15:21 +0200)
commit5ebb32d1ffa23241d562fb4d5be02bc6f156b515
tree7e55ae158bcbb35019c5f6e999f2ef20c8600f8e
parentfe188a18f324f4545af857436a6060e676a1287d
Extend _gdk_windowing_window_at_pointer to be able to get toplevels only

This has two advantages:
1) In many backends, this is faster as we can terminate the window
hierarchy traversal earlier
2) When used in gdkdisplay.c::get_current_toplevel() to get the
current toplevel that has the pointer we now correctly return
a toplevel with the pointer in it where the pointer is inside
some foreign subwindow of a toplevel window.

The second advantage fixes some bugs in client side event generation
when the pointer is inside such a foreign child window.
gdk/directfb/gdkwindow-directfb.c
gdk/gdkdisplay.c
gdk/gdkinternals.h
gdk/quartz/gdkwindow-quartz.c
gdk/win32/gdkwindow-win32.c
gdk/x11/gdkwindow-x11.c